//************************************************************
//    > File Name: move-zero.cpp
//    > Author: davis
//    > Mail:  
//    > Created Time: 2017年03月13日 13:38:27
//***********************************************************
//lintcode #539
#include<bits/stdc++.h>
using namespace std;
void movezero(vector<int> &m)
{
	for(int i=0,j=0;i<m.size()&&j<m.size();){
		for(;i<m.size() && m[i]!=0;++i);
		for(j=i+1;j<m.size() && m[j]==0;++j);
		if(i<m.size() && j<m.size())
			swap(m[i++],m[j++]);
	}
}
int main()
{
	vector<int> a;
	a.resize(5);
	for(int i=0;i<5;++i)
		a[i]=i;
	for(int i=0;i<5;++i)
		cout<<a[i]<<" ";
	cout<<endl;
	movezero(a);
	for(int i=0;i<5;++i)
		cout<<a[i]<<" ";
	cout<<endl;
}
